11111

COURSE INTRODUCTION AND APPLICATION INFORMATION


se.cs.ieu.edu.tr

Course Name
Code
Semester
Theory
(hour/week)
Application/Lab
(hour/week)
Local Credits
ECTS
Fall
Prerequisites
 SE 116To succeed (To get a grade of at least DD)
Course Language
Course Type
Required
Course Level
-
Mode of Delivery -
Teaching Methods and Techniques of the Course Problem Solving
Application: Experiment / Laboratory / Workshop
Course Coordinator
Course Lecturer(s)
Assistant(s)
Course Objectives
Learning Outcomes The students who succeeded in this course;
  • be able to examine the loop structures of either a recursive or nonrecursive algorithms and infer its asymptotic running time and express its efficiency using big-Oh notation
  • be able to assess the relative advantages of using array or linked list implementations in efficiently solving search problems with concurrent insertion, and/or deletions on collections of data, design
  • be able to implement efficient computer programs running at the cost of O (log n) per searching, insertion and/or deletion of data items by employing correct variants of tree data structures covered in the course
  • be able to develop efficient applications that require an order on data items by appropriately selecting the right sorting algorithm
  • be able to describe the usage of various data structures
  • be able to explain the operations for maintaining common data structures
  • be able to design and apply appropriate data structures for solving computing problems
  • be able to design simple algorithms for solving computing problems
Course Description

 



Course Category

Core Courses
X
Major Area Courses
Supportive Courses
Media and Managment Skills Courses
Transferable Skill Courses

 

WEEKLY SUBJECTS AND RELATED PREPARATION STUDIES

Week Subjects Required Materials
1 Introduction: Mathematics Review and Recursion M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 1.1, 1.2, 1.3)
2 Programming Hints M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 1.4, 1.5, 1.6, 1.7)
3 Algorithm Analysis (basic concepts of algorithms, modeling runtimes, recurrences, BigOh notations) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 2.1, 2.2, 2.3)
4 Algorithm Analysis (Running Time Calculations) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 2.4)
5 Linear Data Structures: (Pointers, Linked Lists) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 3.1, 3.2, 3.3, 3.4, 3.5)
6 Linear Data Structures (Stacks) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 3.6)
7 Linear Data Structures (Queues) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 3.7)
8 Ara sınav / Midterm
9 Trees (Binary trees) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 4.1, 4.2)
10 Trees (Binary search trees) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 4.3)
11 Trees (AVL Trees) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 4.4)
12 Priority Queues: Binary Heaps M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 6.1, 6.2, 6.3)
13 Sorting (Insertion Sort, Shellsort) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 7.1, 7.2, 7.3, 7.4)
14 Sorting (Heapsort, Mergesort ) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 7.5, 7.6)
15 Sorting (Quicksort) M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006 (Ch. 7.7)
16 Review of the Semester  
Course Notes/Textbooks M. A. Weiss, Data Structures and Algorithm Analysis in C++, 3/e, AddisonWesley, 2006
Suggested Readings/Materials

 

EVALUATION SYSTEM

Semester Activities Number Weigthing
Participation
Laboratory / Application
10
30
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
Presentation / Jury
Project
Seminar / Workshop
Oral Exam
Midterm
1
30
Final Exam
1
40
Total

Weighting of Semester Activities on the Final Grade
60
Weighting of End-of-Semester Activities on the Final Grade
40
Total

ECTS / WORKLOAD TABLE

Semester Activities Number Duration (Hours) Workload
Course Hours
(Including exam week: 16 x total hours)
16
3
48
Laboratory / Application Hours
(Including exam week: 16 x total hours)
16
2
Study Hours Out of Class
15
3
Field Work
Quizzes / Studio Critiques
5
2
Portfolio
Homework / Assignments
2
Presentation / Jury
Project
Seminar / Workshop
Oral Exam
Midterms
1
15
Final Exams
1
20
    Total
170

 

COURSE LEARNING OUTCOMES AND PROGRAM QUALIFICATIONS RELATIONSHIP

#
Program Competencies/Outcomes
* Contribution Level
1
2
3
4
5
1 Be able to define problems in real life by identifying functional and nonfunctional requirements that the software is to execute
2 Be able to design and analyze software at component, subsystem, and software architecture level X
3 Be able to develop software by coding, verifying, doing unit testing and debugging X
4 Be able to verify software by testing its behaviour, execution conditions, and expected results
5 Be able to maintain software due to working environment changes, new user demands and the emergence of software errors that occur during operation
6 Be able to monitor and control changes in the software, the integration of software with other software systems, and plan to release software versions systematically
7 To have knowledge in the area of software requirements understanding, process planning, output specification, resource planning, risk management and quality planning
8 Be able to identify, evaluate, measure and manage changes in software development by applying software engineering processes
9 Be able to use various tools and methods to do the software requirements, design, development, testing and maintenance X
10 To have knowledge of basic quality metrics, software life cycle processes, software quality, quality model characteristics, and be able to use them to develop, verify and test software X
11 To have knowledge in other disciplines that have common boundaries with software engineering such as computer engineering, management, mathematics, project management, quality management, software ergonomics and systems engineering X
12 Be able to grasp software engineering culture and concept of ethics, and have the basic information of applying them in the software engineering X
13

Be able to use a foreign language to follow related field publications and communicate with colleagues

X

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest

 

İzmir Ekonomi Üniversitesi | Sakarya Caddesi No:156, 35330 Balçova - İZMİR Tel: +90 232 279 25 25 | webmaster@ieu.edu.tr | YBS 2010